from openai import OpenAI
from nicegui import ui

# 配置 OpenAI 客户端
client = OpenAI(
    api_key="sk-pPUHEhnFYZOHkIbCouhL3YaxYs2r5sYNmiQhyp8CRkKGYHTY",  # 替换为你的 API 密钥
    base_url="https://api.moonshot.cn/v1",  # 替换为正确的 API 地址
)

# 定义发送请求并获取回答的函数
def get_response(question: str) -> str:
    try:
        completion = client.chat.completions.create(
            model="moonshot-v1-8k",
            messages=[
                {"role": "system", "content": "你是 Kimi，由 Moonshot AI 提供的人工智能助手，你更擅长中文和英文的对话。你会为用户提供安全，有帮助，准确的回答。同时，你会拒绝一切涉及恐怖主义，种族歧视，黄色暴力等问题的回答。Moonshot AI 为专有名词，不可翻译成其他语言。"},
                {"role": "user", "content": question}
            ],
            temperature=0.3,
        )
        return completion.choices[0].message.content
    except Exception as e:
        return f"请求失败：{e}"

# 定义提交按钮的回调函数
def on_submit():
    user_input = input_text.value.strip()
    if user_input:
        response = get_response(user_input)
        output_text.set_text(response)
    else:
        output_text.set_text("请输入问题！")

# 创建 NiceGUI 界面
ui.label("请输入问题：")
input_text = ui.input(placeholder="在这里输入问题").classes("w-full")
ui.button("提交", on_click=on_submit).classes("w-full")

ui.label("回答：")
output_text = ui.label("").classes("w-full")

# 启动 NiceGUI 应用
ui.run(title="Kimi Chat", dark=True)